Hardware can be virtualized in such a way that an application executes on the virtualized hardware, instead of the physical hardware. For example, for a virtual memory, pages of memory are swapped in and out a computing system, allowing applications to address a much larger memory than the actual physical memory. Similarly, a reconfigurable computing system can swap in and out portions of the hardware by a reconfiguration process, allowing applications to effectively use more hardware than physically exists. For example, two different applications can independently execute on a hardware processor via different virtual interfaces as if the hardware processing capacity has been increased. The capacity of the virtualized hardware, however, can be limited when the physical hardware has been overly fragmented, because an available fragment of the physical hardware may not provide sufficient physical resources to accommodate a new application.